using System;
using System.Data;
using System.Text;
using System.Collections.Generic;

#region user code using
#endregion user code using

namespace Adoor.DAL.Ouvrages
{
	#region user code namespace
	#endregion user code namespace
	
	
	public abstract class NumeroRevue : Adoor.DAL.Ouvrages.Ouvrage
	#region user code implements
	#endregion user code implements
	{
	
		public virtual System.Int32 DateParution
		{
			get
			{
				System.Int32  value = this.m_DateParution;
				#region user code get public System.Int32 DateParution
				#endregion user code get public System.Int32 DateParution
				return value; 
			}
			set
			{ 
				#region user code set public System.Int32 DateParution
				#endregion user code set public System.Int32 DateParution				
				this.m_DateParution = value;
				OnDateParutionChanged();
			}
		}
		
		public event EventHandler DateParutionChanged;
		
		protected virtual void OnDateParutionChanged()
		{				
			if(DateParutionChanged != null)
				DateParutionChanged(this, System.EventArgs.Empty);			
					
			#region user code OnDateParutionChanged
			#endregion user code OnDateParutionChanged				
		}

		public virtual Adoor.DAL.Ouvrages.Revue Revue
		{
			get
			{
				Adoor.DAL.Ouvrages.Revue  value = this.m_Revue;
				#region user code get public Adoor.DAL.Ouvrages.Revue Revue
				#endregion user code get public Adoor.DAL.Ouvrages.Revue Revue
				return value; 
			}
			set
			{ 
				#region user code set public Adoor.DAL.Ouvrages.Revue Revue
				#endregion user code set public Adoor.DAL.Ouvrages.Revue Revue
				this.m_Revue = value; 
				OnRevueChanged();
			}
		}
		
		public event EventHandler RevueChanged;
		
		protected virtual void OnRevueChanged()
		{			
			if(RevueChanged != null)
				RevueChanged(this, System.EventArgs.Empty);
				
			#region user code OnRevueChanged
			#endregion user code OnRevueChanged
		}

	
		/// <summary>
		/// Called when user is creating a new entity.
		/// </summary>
		protected override void OnCreate(object[] args)
		{
			base.OnCreate(args);
			DateParution = 0;		
	
			#region user code OnCreate
			#endregion user code OnCreate
		}
				
		/// <summary>
		/// Called when user is retreiving an entity from storage
		/// </summary>
		protected override void OnMaterialize()
		{
			base.OnMaterialize();
			#region user code OnMaterialize
			#endregion user code OnMaterialize
		}
		
		protected abstract System.Int32 m_DateParution { get; set; }

		protected abstract Adoor.DAL.Ouvrages.Revue m_Revue { get; set; }


		#region user code class
		#endregion user code class
	}
}
